From: Sebastian Keller Date: Wed, 30 Jul 2025 13:24:29 +0000 (+0200) Subject: slider: Don't preserve paths after filling X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~119^2~4^2^2~8 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=1e5c4d79675cd57f64477be933db2d1a0b34dce7;p=gnome-shell.git slider: Don't preserve paths after filling Prior to 6fd0aac86 the paths were preserved when filling to allow stroking the path afterwards. The stroke() then would have cleared the path. Then when the stroking was dropped in that commit, a second fill() call, this time without preserving the path was added, but missed from the end arc of the bar level. This then would leak the path to the slider handle. Fix this by always using fill() instead of fillPreserve(). Fixes: 6fd0aac86 ("slider: Remove border drawing code add hover style") Part-of: (cherry picked from commit 95b407b57f6334cc1895d838c0b5fb7c42ff9c16) --- diff --git a/js/ui/barLevel.js b/js/ui/barLevel.js index a0d6d65a5..777cdefe7 100644 --- a/js/ui/barLevel.js +++ b/js/ui/barLevel.js @@ -208,7 +208,7 @@ export const BarLevel = GObject.registerClass({ cr.lineTo(Math.ceil(endX), (height - this._barLevelHeight) / 2); } cr.lineTo(endX, (height - this._barLevelHeight) / 2); - cr.fillPreserve(); + cr.fill(); } /* draw overdrive separator */ diff --git a/js/ui/slider.js b/js/ui/slider.js index 3a2cdbd8f..6b09b4c40 100644 --- a/js/ui/slider.js +++ b/js/ui/slider.js @@ -59,7 +59,7 @@ export const Slider = GObject.registerClass({ let color = themeNode.get_foreground_color(); cr.setSourceColor(color); cr.arc(handleX, handleY, this._handleRadius, 0, 2 * Math.PI); - cr.fillPreserve(); + cr.fill(); cr.$dispose(); }